<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Smarty 3 Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="Smarty 3 Manual">
<link rel="next" href="preface.html" title="Preface">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">Smarty 3 Manual</th></tr>
<tr>
<td width="20%" align="left"> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> <a accesskey="n" href="preface.html">Next</a>
</td>
</tr>
</table>
<hr>
</div>
<div lang="en" class="book" title="Smarty 3 Manual">
<div class="titlepage">
<div>
<div><h1 class="title">
<a name="manual"></a>Smarty - the compiling PHP template engine</h1></div>
<div><div class="authorgroup">
<a name="authors"></a><div class="author"><h3 class="author">
<span class="firstname">Monte</span> <span class="surname">Ohrt &lt;monte at ohrt dot com&gt;</span>
</h3></div>
<div class="author"><h3 class="author">
<span class="firstname">Uwe</span> <span class="surname">Tews &lt;uwe dot tews at googlemail dot com&gt;</span>
</h3></div>
</div></div>
<div><p class="copyright">Copyright © 2001-2011 New Digital Group, Inc.</p></div>
<div><p class="pubdate">2012-02-20</p></div>
</div>
<hr>
</div>
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="preface"><a href="preface.html">Preface</a></span></dt>
<dt><span class="part"><a href="getting.started.html">I. Getting Started</a></span></dt>
<dd><dl>
<dt><span class="chapter"><a href="what.is.smarty.html">1. What is Smarty?</a></span></dt>
<dt><span class="chapter"><a href="installation.html">2. Installation</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="installation.html#installation.requirements">Requirements</a></span></dt>
<dt><span class="sect1"><a href="installing.smarty.basic.html">Basic Installation</a></span></dt>
<dt><span class="sect1"><a href="installing.smarty.extended.html">Extended Setup</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="part"><a href="smarty.for.designers.html">II. Smarty For Template Designers</a></span></dt>
<dd><dl>
<dt><span class="chapter"><a href="language.basic.syntax.html">3. Basic Syntax</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="language.basic.syntax.html#language.syntax.comments">Comments</a></span></dt>
<dt><span class="sect1"><a href="language.syntax.variables.html">Variables</a></span></dt>
<dt><span class="sect1"><a href="language.syntax.functions.html">Functions</a></span></dt>
<dt><span class="sect1"><a href="language.syntax.attributes.html">Attributes</a></span></dt>
<dt><span class="sect1"><a href="language.syntax.quotes.html">Embedding Vars in Double Quotes</a></span></dt>
<dt><span class="sect1"><a href="language.math.html">Math</a></span></dt>
<dt><span class="sect1"><a href="language.escaping.html">Escaping Smarty Parsing</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="language.variables.html">4. Variables</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="language.variables.html#language.assigned.variables">Variables assigned from PHP</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="language.variables.html#language.variables.assoc.arrays">Associative arrays</a></span></dt>
<dt><span class="sect2"><a href="language.variables.html#language.variables.array.indexes">Array indexes</a></span></dt>
<dt><span class="sect2"><a href="language.variables.html#language.variables.objects">Objects</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="language.variable.scopes.html">Variable scopes</a></span></dt>
<dt><span class="sect1"><a href="language.config.variables.html">Variables loaded from config files</a></span></dt>
<dt><span class="sect1"><a href="language.variables.smarty.html">{$smarty} reserved variable</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.request">Request variables</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.now">{$smarty.now}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.const">{$smarty.const}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.capture">{$smarty.capture}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.config">{$smarty.config}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.loops">{$smarty.section}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.template">{$smarty.template}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.template_object">{$smarty.template_object}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.current_dir">{$smarty.current_dir}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.version">{$smarty.version}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.block.child">{$smarty.block.child}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.block.parent">{$smarty.block.parent}</a></span></dt>
<dt><span class="sect2"><a href="language.variables.smarty.html#language.variables.smarty.ldelim">{$smarty.ldelim}, {$smarty.rdelim}</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="language.modifiers.html">5. Variable Modifiers</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="language.modifiers.html#language.modifier.capitalize">capitalize</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.cat.html">cat</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.count.characters.html">count_characters</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.count.paragraphs.html">count_paragraphs</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.count.sentences.html">count_sentences</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.count.words.html">count_words</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.date.format.html">date_format</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.default.html">default</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.escape.html">escape</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.from_charset.html">from_charset</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.indent.html">indent</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.lower.html">lower</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.nl2br.html">nl2br</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.regex.replace.html">regex_replace</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.replace.html">replace</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.spacify.html">spacify</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.string.format.html">string_format</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.strip.html">strip</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.strip.tags.html">strip_tags</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.to_charset.html">to_charset</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.truncate.html">truncate</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.unescape.html">unescape</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.upper.html">upper</a></span></dt>
<dt><span class="sect1"><a href="language.modifier.wordwrap.html">wordwrap</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="language.combining.modifiers.html">6. Combining Modifiers</a></span></dt>
<dt><span class="chapter"><a href="language.builtin.functions.html">7. Built-in Functions</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="language.builtin.functions.html#language.function.shortform.assign">{$var=...}</a></span></dt>
<dt><span class="sect1"><a href="language.function.append.html">{append}</a></span></dt>
<dt><span class="sect1"><a href="language.function.assign.html">{assign}</a></span></dt>
<dt><span class="sect1"><a href="language.function.block.html">{block}</a></span></dt>
<dt><span class="sect1"><a href="language.function.call.html">{call}</a></span></dt>
<dt><span class="sect1"><a href="language.function.capture.html">{capture}</a></span></dt>
<dt><span class="sect1"><a href="language.function.config.load.html">{config_load}</a></span></dt>
<dt><span class="sect1"><a href="language.function.debug.html">{debug}</a></span></dt>
<dt><span class="sect1"><a href="language.function.extends.html">{extends}</a></span></dt>
<dt><span class="sect1"><a href="language.function.for.html">{for}</a></span></dt>
<dt><span class="sect1"><a href="language.function.foreach.html">{foreach},{foreachelse}</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.index">@index</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.iteration">@iteration</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.first">@first</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.last">@last</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.show">@show</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.property.total">@total</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.construct.break">{break}</a></span></dt>
<dt><span class="sect2"><a href="language.function.foreach.html#foreach.construct.continue">{continue}</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="language.function.function.html">{function}</a></span></dt>
<dt><span class="sect1"><a href="language.function.if.html">{if},{elseif},{else}</a></span></dt>
<dt><span class="sect1"><a href="language.function.include.html">{include}</a></span></dt>
<dt><span class="sect1"><a href="language.function.include.php.html">{include_php}</a></span></dt>
<dt><span class="sect1"><a href="language.function.insert.html">{insert}</a></span></dt>
<dt><span class="sect1"><a href="language.function.ldelim.html">{ldelim},{rdelim}</a></span></dt>
<dt><span class="sect1"><a href="language.function.literal.html">{literal}</a></span></dt>
<dt><span class="sect1"><a href="language.function.nocache.html">{nocache}</a></span></dt>
<dt><span class="sect1"><a href="language.function.php.html">{php}</a></span></dt>
<dt><span class="sect1"><a href="language.function.section.html">{section},{sectionelse}</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="language.function.section.html#section.property.index">.index</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.index.prev">.index_prev</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.index.next">.index_next</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.iteration">.iteration</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.first">.first</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.last">.last</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.rownum">.rownum</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.loop">.loop</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.show">.show</a></span></dt>
<dt><span class="sect2"><a href="language.function.section.html#section.property.total">.total</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="language.function.setfilter.html">{setfilter}</a></span></dt>
<dt><span class="sect1"><a href="language.function.strip.html">{strip}</a></span></dt>
<dt><span class="sect1"><a href="language.function.while.html">{while}</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="language.custom.functions.html">8. Custom Functions</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="language.custom.functions.html#language.function.counter">{counter}</a></span></dt>
<dt><span class="sect1"><a href="language.function.cycle.html">{cycle}</a></span></dt>
<dt><span class="sect1"><a href="language.function.eval.html">{eval}</a></span></dt>
<dt><span class="sect1"><a href="language.function.fetch.html">{fetch}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.checkboxes.html">{html_checkboxes}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.image.html">{html_image}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.options.html">{html_options}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.radios.html">{html_radios}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.select.date.html">{html_select_date}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.select.time.html">{html_select_time}</a></span></dt>
<dt><span class="sect1"><a href="language.function.html.table.html">{html_table}</a></span></dt>
<dt><span class="sect1"><a href="language.function.mailto.html">{mailto}</a></span></dt>
<dt><span class="sect1"><a href="language.function.math.html">{math}</a></span></dt>
<dt><span class="sect1"><a href="language.function.textformat.html">{textformat}</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="config.files.html">9. Config Files</a></span></dt>
<dt><span class="chapter"><a href="chapter.debugging.console.html">10. Debugging Console</a></span></dt>
</dl></dd>
<dt><span class="part"><a href="smarty.for.programmers.html">III. Smarty For Programmers</a></span></dt>
<dd><dl>
<dt><span class="chapter"><a href="charset.html">11. Charset Encoding</a></span></dt>
<dd><dl><dt><span class="sect1"><a href="charset.html#charset.encoding">Charset Encoding</a></span></dt></dl></dd>
<dt><span class="chapter"><a href="smarty.constants.html">12. Constants</a></span></dt>
<dd><dl><dt><span class="sect1"><a href="smarty.constants.html#constant.smarty.dir">SMARTY_DIR</a></span></dt></dl></dd>
<dt><span class="chapter"><a href="api.variables.html">13. Smarty Class Variables</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="api.variables.html#variable.allow.php.templates">$allow_php_templates</a></span></dt>
<dt><span class="sect1"><a href="variable.auto.literal.html">$auto_literal</a></span></dt>
<dt><span class="sect1"><a href="variable.autoload.filters.html">$autoload_filters</a></span></dt>
<dt><span class="sect1"><a href="variable.cache.dir.html">$cache_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.cache.id.html">$cache_id</a></span></dt>
<dt><span class="sect1"><a href="variable.cache.lifetime.html">$cache_lifetime</a></span></dt>
<dt><span class="sect1"><a href="variable.cache.locking.html">$cache_locking</a></span></dt>
<dt><span class="sect1"><a href="variable.cache.modified.check.html">$cache_modified_check</a></span></dt>
<dt><span class="sect1"><a href="variable.caching.html">$caching</a></span></dt>
<dt><span class="sect1"><a href="variable.caching.type.html">$caching_type</a></span></dt>
<dt><span class="sect1"><a href="variable.compile.check.html">$compile_check</a></span></dt>
<dt><span class="sect1"><a href="variable.compile.dir.html">$compile_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.compile.id.html">$compile_id</a></span></dt>
<dt><span class="sect1"><a href="variable.compile.locking.html">$compile_locking</a></span></dt>
<dt><span class="sect1"><a href="variable.compiler.class.html">$compiler_class</a></span></dt>
<dt><span class="sect1"><a href="variable.config.booleanize.html">$config_booleanize</a></span></dt>
<dt><span class="sect1"><a href="variable.config.dir.html">$config_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.config.overwrite.html">$config_overwrite</a></span></dt>
<dt><span class="sect1"><a href="variable.config.read.hidden.html">$config_read_hidden</a></span></dt>
<dt><span class="sect1"><a href="variable.debug_template.html">$debug_tpl</a></span></dt>
<dt><span class="sect1"><a href="variable.debugging.html">$debugging</a></span></dt>
<dt><span class="sect1"><a href="variable.debugging.ctrl.html">$debugging_ctrl</a></span></dt>
<dt><span class="sect1"><a href="variable.default.config.type.html">$default_config_type</a></span></dt>
<dt><span class="sect1"><a href="variable.default.modifiers.html">$default_modifiers</a></span></dt>
<dt><span class="sect1"><a href="variable.default.resource.type.html">$default_resource_type</a></span></dt>
<dt><span class="sect1"><a href="variable.default.config.handler.func.html">$default_config_handler_func</a></span></dt>
<dt><span class="sect1"><a href="variable.default.template.handler.func.html">$default_template_handler_func</a></span></dt>
<dt><span class="sect1"><a href="variable.direct.access.security.html">$direct_access_security</a></span></dt>
<dt><span class="sect1"><a href="variable.error.reporting.html">$error_reporting</a></span></dt>
<dt><span class="sect1"><a href="variable.escape.html.html">$escape_html</a></span></dt>
<dt><span class="sect1"><a href="variable.force.cache.html">$force_cache</a></span></dt>
<dt><span class="sect1"><a href="variable.force.compile.html">$force_compile</a></span></dt>
<dt><span class="sect1"><a href="variable.left.delimiter.html">$left_delimiter</a></span></dt>
<dt><span class="sect1"><a href="variable.locking.timeout.html">$locking_timeout</a></span></dt>
<dt><span class="sect1"><a href="variable.merge.compiled.includes.html">$merge_compiled_includes</a></span></dt>
<dt><span class="sect1"><a href="variable.php.handling.html">$php_handling</a></span></dt>
<dt><span class="sect1"><a href="variable.plugins.dir.html">$plugins_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.right.delimiter.html">$right_delimiter</a></span></dt>
<dt><span class="sect1"><a href="variable.smarty.debug.id.html">$smarty_debug_id</a></span></dt>
<dt><span class="sect1"><a href="variable.template.dir.html">$template_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.trusted.dir.html">$trusted_dir</a></span></dt>
<dt><span class="sect1"><a href="variable.use.include.path.html">$use_include_path</a></span></dt>
<dt><span class="sect1"><a href="variable.use.sub.dirs.html">$use_sub_dirs</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="api.functions.html">14. Smarty Class Methods</a></span></dt>
<dd><dl>
<dt>
<span class="refentrytitle"><a href="api.add.config.dir.html">addConfigDir()</a></span><span class="refpurpose"> — add a directory to the list of directories where config files are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.add.plugins.dir.html">addPluginsDir()</a></span><span class="refpurpose"> — add a directory to the list of directories where plugins are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.add.template.dir.html">addTemplateDir()</a></span><span class="refpurpose"> — add a directory to the list of directories where templates are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.append.html">append()</a></span><span class="refpurpose"> — append an element to an assigned array</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.append.by.ref.html">appendByRef()</a></span><span class="refpurpose"> — append values  by reference</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.assign.html">assign()</a></span><span class="refpurpose"> — assign variables/objects to the templates</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.assign.by.ref.html">assignByRef()</a></span><span class="refpurpose"> — assign values by reference</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.all.assign.html">clearAllAssign()</a></span><span class="refpurpose"> — clears the values of all assigned variables</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.all.cache.html">clearAllCache()</a></span><span class="refpurpose"> — clears the entire template cache</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.assign.html">clearAssign()</a></span><span class="refpurpose"> — clears the value of an assigned variable</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.cache.html">clearCache()</a></span><span class="refpurpose"> — clears the cache for a specific template</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.compiled.tpl.html">clearCompiledTemplate()</a></span><span class="refpurpose"> — clears the compiled version of the specified template resource</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.clear.config.html">clearConfig()</a></span><span class="refpurpose"> — clears assigned config variables</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.compile.all.config.html">compileAllConfig()</a></span><span class="refpurpose"> — compiles all known config files</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.compile.all.templates.html">compileAllTemplates()</a></span><span class="refpurpose"> — compiles all known templates</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.config.load.html">configLoad()</a></span><span class="refpurpose"> —  loads config file  data and assigns it to the template</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.create.data.html">createData()</a></span><span class="refpurpose"> — creates a data object</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.create.template.html">createTemplate()</a></span><span class="refpurpose"> — returns a template object</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.disable.security.html">disableSecurity()</a></span><span class="refpurpose"> — disables template security</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.display.html">display()</a></span><span class="refpurpose"> — displays the template</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.enable.security.html">enableSecurity()</a></span><span class="refpurpose"> — enables template security</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.fetch.html">fetch()</a></span><span class="refpurpose"> — returns the template output</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.cache.dir.html">getCacheDir()</a></span><span class="refpurpose"> — return the directory where the rendered template's output is stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.compile.dir.html">getCompileDir()</a></span><span class="refpurpose"> — returns the directory where compiled templates are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.config.dir.html">getConfigDir()</a></span><span class="refpurpose"> — return the directory where config files are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.config.vars.html">getConfigVars()</a></span><span class="refpurpose"> — returns the given loaded config variable value</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.plugins.dir.html">getPluginsDir()</a></span><span class="refpurpose"> — return the directory where plugins are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.registered.object.html">getRegisteredObject()</a></span><span class="refpurpose"> — returns a reference to a registered object</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.tags.html">getTags()</a></span><span class="refpurpose"> — return tags used by template</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.template.dir.html">getTemplateDir()</a></span><span class="refpurpose"> — return the directory where templates are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.get.template.vars.html">getTemplateVars()</a></span><span class="refpurpose"> — returns  assigned variable value(s)</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.is.cached.html">isCached()</a></span><span class="refpurpose"> — returns true if there is a valid cache for this template</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.load.filter.html">loadFilter()</a></span><span class="refpurpose"> — load a filter plugin</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.mute.expected.errors.html">Smarty::muteExpectedErrors()</a></span><span class="refpurpose"> — mutes expected warnings and notices deliberately generated by Smarty</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.cacheresource.html">registerCacheResource()</a></span><span class="refpurpose"> — dynamically register CacheResources</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.class.html">registerClass()</a></span><span class="refpurpose"> — register a class for use in the templates</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.default.plugin.handler.html">registerDefaultPluginHandler()</a></span><span class="refpurpose"> — register a function which gets called on undefined tags</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.filter.html">registerFilter()</a></span><span class="refpurpose"> — dynamically register filters</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.plugin.html">registerPlugin()</a></span><span class="refpurpose"> — dynamically register plugins</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.object.html">registerObject()</a></span><span class="refpurpose"> — register an object for use in the templates</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.register.resource.html">registerResource()</a></span><span class="refpurpose"> — dynamically register resources</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.set.cache.dir.html">setCacheDir()</a></span><span class="refpurpose"> — set the directory where the rendered template's output is stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.set.compile.dir.html">setCompileDir()</a></span><span class="refpurpose"> — set the directory where compiled templates are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.set.config.dir.html">setConfigDir()</a></span><span class="refpurpose"> — set the directories where config files are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.set.plugins.dir.html">setPluginsDir()</a></span><span class="refpurpose"> — set the directories where plugins are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.set.template.dir.html">setTemplateDir()</a></span><span class="refpurpose"> — set the directories where templates are stored</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.template.exists.html">templateExists()</a></span><span class="refpurpose"> — checks whether the specified template exists</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.unregister.cacheresource.html">unregisterCacheResource()</a></span><span class="refpurpose"> — dynamically unregister a CacheResource plugin</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.unregister.filter.html">unregisterFilter()</a></span><span class="refpurpose"> — dynamically unregister a filter</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.unregister.plugin.html">unregisterPlugin</a></span><span class="refpurpose"> — dynamically unregister plugins</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.unregister.object.html">unregisterObject()</a></span><span class="refpurpose"> — dynamically unregister an object</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.unregister.resource.html">unregisterResource()</a></span><span class="refpurpose"> — dynamically unregister a resource plugin</span>
</dt>
<dt>
<span class="refentrytitle"><a href="api.test.install.html">testInstall()</a></span><span class="refpurpose"> — checks Smarty installation</span>
</dt>
</dl></dd>
<dt><span class="chapter"><a href="caching.html">15. Caching</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="caching.html#caching.setting.up">Setting Up Caching</a></span></dt>
<dt><span class="sect1"><a href="caching.multiple.caches.html">Multiple Caches Per Page</a></span></dt>
<dt><span class="sect1"><a href="caching.groups.html">Cache Groups</a></span></dt>
<dt><span class="sect1"><a href="caching.cacheable.html">Controlling Cacheability of Output</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="caching.cacheable.html#cacheability.sections">Cacheability of Template Section</a></span></dt>
<dt><span class="sect2"><a href="caching.cacheable.html#cacheability.tags">Cacheability of Tags</a></span></dt>
<dt><span class="sect2"><a href="caching.cacheable.html#cacheability.variables">Cacheability of Variables</a></span></dt>
<dt><span class="sect2"><a href="caching.cacheable.html#cacheability.plugins">Cacheability of Plugins</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="caching.custom.html">Custom Cache Implementation</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="resources.html">16. Resources</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="resources.html#resources.file">File Template Resources</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="resources.html#templates.from.template.dir">Templates from $template_dir</a></span></dt>
<dt><span class="sect2"><a href="resources.html#templates.from.specified.template.dir">Templates from a specific $template_dir</a></span></dt>
<dt><span class="sect2"><a href="resources.html#templates.from.any.dir">Templates from any directory</a></span></dt>
<dt><span class="sect2"><a href="resources.html#templates.windows.filepath">Windows Filepaths</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="resources.string.html">String Template Resources</a></span></dt>
<dt><span class="sect1"><a href="resources.streams.html">Stream Template Resources</a></span></dt>
<dt><span class="sect1"><a href="resources.extends.html">Extends Template Resources</a></span></dt>
<dt><span class="sect1"><a href="resources.custom.html">Custom Template Resources</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="advanced.features.html">17. Advanced Features</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="advanced.features.html#advanced.features.security">Security</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.template.settings.html">Changing settings by template</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.template.inheritance.html">Template Inheritance</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.streams.html">Streams</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.objects.html">Objects</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.static.classes.html">Static Classes</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.prefilters.html">Prefilters</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.postfilters.html">Postfilters</a></span></dt>
<dt><span class="sect1"><a href="advanced.features.outputfilters.html">Output Filters</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="plugins.html">18. Extending Smarty With Plugins</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="plugins.html#plugins.howto">How Plugins Work</a></span></dt>
<dt><span class="sect1"><a href="plugins.naming.conventions.html">Naming Conventions</a></span></dt>
<dt><span class="sect1"><a href="plugins.writing.html">Writing Plugins</a></span></dt>
<dt><span class="sect1"><a href="plugins.functions.html">Template Functions</a></span></dt>
<dt><span class="sect1"><a href="plugins.modifiers.html">Modifiers</a></span></dt>
<dt><span class="sect1"><a href="plugins.block.functions.html">Block Functions</a></span></dt>
<dt><span class="sect1"><a href="plugins.compiler.functions.html">Compiler Functions</a></span></dt>
<dt><span class="sect1"><a href="plugins.prefilters.postfilters.html">Prefilters/Postfilters</a></span></dt>
<dt><span class="sect1"><a href="plugins.outputfilters.html">Output Filters</a></span></dt>
<dt><span class="sect1"><a href="plugins.resources.html">Resources</a></span></dt>
<dt><span class="sect1"><a href="plugins.inserts.html">Inserts</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="bc.html">19. SmartyBC - Backwards Compatibility Wrapper</a></span></dt>
<dd><dl><dt><span class="sect1"><a href="bc.html#bc.class">SmartyBC class</a></span></dt></dl></dd>
</dl></dd>
<dt><span class="part"><a href="appendixes.html">IV. Appendixes</a></span></dt>
<dd><dl>
<dt><span class="chapter"><a href="troubleshooting.html">20. Troubleshooting</a></span></dt>
<dd><dl><dt><span class="sect1"><a href="troubleshooting.html#smarty.php.errors">Smarty/PHP errors</a></span></dt></dl></dd>
<dt><span class="chapter"><a href="tips.html">21. Tips &amp; Tricks</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="tips.html#tips.blank.var.handling">Blank Variable Handling</a></span></dt>
<dt><span class="sect1"><a href="tips.default.var.handling.html">Default Variable Handling</a></span></dt>
<dt><span class="sect1"><a href="tips.passing.vars.html">Passing variable title to header template</a></span></dt>
<dt><span class="sect1"><a href="tips.dates.html">Dates</a></span></dt>
<dt><span class="sect1"><a href="tips.wap.html">WAP/WML</a></span></dt>
<dt><span class="sect1"><a href="tips.componentized.templates.html">Componentized Templates</a></span></dt>
<dt><span class="sect1"><a href="tips.obfuscating.email.html">Obfuscating E-mail Addresses</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="inforesources.html">22. Resources</a></span></dt>
<dt><span class="chapter"><a href="bugs.html">23. BUGS</a></span></dt>
</dl></dd>
</dl>
</div>
<div class="list-of-examples">
<p><b>List of Examples</b></p>
<dl>
<dt>2.1. <a href="installing.smarty.basic.html#id341680">Required Smarty library files</a>
</dt>
<dt>2.2. <a href="installing.smarty.basic.html#id341782">Set SMARTY_DIR constant manually</a>
</dt>
<dt>2.3. <a href="installing.smarty.basic.html#id341795">Supply absolute path to library file</a>
</dt>
<dt>2.4. <a href="installing.smarty.basic.html#id341817">Add the library path to the <code class="filename">php.ini</code> file</a>
</dt>
<dt>2.5. <a href="installing.smarty.basic.html#id341846">Appending the include path in a php script with
    ini_set()</a>
</dt>
<dt>2.6. <a href="installing.smarty.basic.html#id341973">What the file structure looks like</a>
</dt>
<dt>2.7. <a href="installing.smarty.basic.html#id342090">Permissions and making directories writable</a>
</dt>
<dt>2.8. <a href="installing.smarty.basic.html#id342155">/web/www.example.com/guestbook/templates/index.tpl</a>
</dt>
<dt>2.9. <a href="installing.smarty.basic.html#id342216">Editing /web/www.example.com/docs/guestbook/index.php</a>
</dt>
<dt>2.10. <a href="installing.smarty.extended.html#id342330">/php/includes/guestbook/setup.php</a>
</dt>
<dt>2.11. <a href="installing.smarty.extended.html#id342372">/web/www.example.com/guestbook/htdocs/index.php</a>
</dt>
<dt>3.1. <a href="language.basic.syntax.html#id343946">Comments within a template</a>
</dt>
<dt>3.2. <a href="language.syntax.variables.html#id343899">Variables</a>
</dt>
<dt>3.3. <a href="language.syntax.functions.html#id344013">function syntax </a>
</dt>
<dt>3.4. <a href="language.syntax.attributes.html#id344316">function attribute syntax</a>
</dt>
<dt>3.5. <a href="language.syntax.quotes.html#id344575">Syntax examples</a>
</dt>
<dt>3.6. <a href="language.syntax.quotes.html#id344938">Examples</a>
</dt>
<dt>3.7. <a href="language.math.html#id344692">math examples</a>
</dt>
<dt>3.8. <a href="language.escaping.html#id344870">Using the auto-literal feature</a>
</dt>
<dt>3.9. <a href="language.escaping.html#id345357">changing delimiters example</a>
</dt>
<dt>4.1. <a href="language.variables.html#id346109">Example variables</a>
</dt>
<dt>4.2. <a href="language.variables.html#id346161">Assigned variables</a>
</dt>
<dt>4.3. <a href="language.variables.html#id346538">Accessing associative array variables</a>
</dt>
<dt>4.4. <a href="language.variables.html#id346598">Accessing arrays by index</a>
</dt>
<dt>4.5. <a href="language.variables.html#id346667">Accessing object properties</a>
</dt>
<dt>4.6. <a href="language.variable.scopes.html#id347007">Variable scope examples</a>
</dt>
<dt>4.7. <a href="language.config.variables.html#id347234">config variables</a>
</dt>
<dt>4.8. <a href="language.variables.smarty.html#id347572">Displaying request variables</a>
</dt>
<dt>5.1. <a href="language.modifiers.html#id349243">Modifier examples</a>
</dt>
<dt>5.2. <a href="language.modifiers.html#id349870">capitalize</a>
</dt>
<dt>5.3. <a href="language.modifier.cat.html#id350243">cat</a>
</dt>
<dt>5.4. <a href="language.modifier.count.characters.html#id350544">count_characters</a>
</dt>
<dt>5.5. <a href="language.modifier.count.paragraphs.html#id350378">count_paragraphs</a>
</dt>
<dt>5.6. <a href="language.modifier.count.sentences.html#id350806">count_sentences</a>
</dt>
<dt>5.7. <a href="language.modifier.count.words.html#id350766">count_words</a>
</dt>
<dt>5.8. <a href="language.modifier.date.format.html#id351528">date_format</a>
</dt>
<dt>5.9. <a href="language.modifier.default.html#id352435">default</a>
</dt>
<dt>5.10. <a href="language.modifier.escape.html#id352954">escape</a>
</dt>
<dt>5.11. <a href="language.modifier.escape.html#id352985">Other examples</a>
</dt>
<dt>5.12. <a href="language.modifier.indent.html#id353973">indent</a>
</dt>
<dt>5.13. <a href="language.modifier.lower.html#id353926">lower</a>
</dt>
<dt>5.14. <a href="language.modifier.nl2br.html#id354122">nl2br</a>
</dt>
<dt>5.15. <a href="language.modifier.regex.replace.html#id354785">regex_replace</a>
</dt>
<dt>5.16. <a href="language.modifier.replace.html#id355201">replace</a>
</dt>
<dt>5.17. <a href="language.modifier.spacify.html#id355581">spacify</a>
</dt>
<dt>5.18. <a href="language.modifier.string.format.html#id355932">string_format</a>
</dt>
<dt>5.19. <a href="language.modifier.strip.html#id356191">strip</a>
</dt>
<dt>5.20. <a href="language.modifier.strip.tags.html#id356461">strip_tags</a>
</dt>
<dt>5.21. <a href="language.modifier.truncate.html#id357271">truncate</a>
</dt>
<dt>5.22. <a href="language.modifier.unescape.html#id357791">escape</a>
</dt>
<dt>5.23. <a href="language.modifier.upper.html#id357875">upper</a>
</dt>
<dt>5.24. <a href="language.modifier.wordwrap.html#id358487">wordwrap</a>
</dt>
<dt>6.1. <a href="language.combining.modifiers.html#id363192">combining modifiers</a>
</dt>
<dt>7.1. <a href="language.builtin.functions.html#id364192">Simple assignment</a>
</dt>
<dt>7.2. <a href="language.builtin.functions.html#id364217">Assignment with math</a>
</dt>
<dt>7.3. <a href="language.builtin.functions.html#id364230">Assignment of an array element</a>
</dt>
<dt>7.4. <a href="language.builtin.functions.html#id364243">Assignment of an multidimensional array element</a>
</dt>
<dt>7.5. <a href="language.builtin.functions.html#id364256">Appending an array</a>
</dt>
<dt>7.6. <a href="language.builtin.functions.html#id364269">Assigment in the scope of calling template</a>
</dt>
<dt>7.7. <a href="language.function.append.html#id364932">{append}</a>
</dt>
<dt>7.8. <a href="language.function.assign.html#id365553">{assign}</a>
</dt>
<dt>7.9. <a href="language.function.assign.html#id365578">{assign} as a nocache variable</a>
</dt>
<dt>7.10. <a href="language.function.assign.html#id365603">{assign} with some maths</a>
</dt>
<dt>7.11. <a href="language.function.assign.html#id365617">{assign} in the scope of calling template</a>
</dt>
<dt>7.12. <a href="language.function.assign.html#id365650">{assign} a variable to current scope tree</a>
</dt>
<dt>7.13. <a href="language.function.assign.html#id365673">{assign} a global variable</a>
</dt>
<dt>7.14. <a href="language.function.assign.html#id365691">Accessing {assign} variables from a PHP script</a>
</dt>
<dt>7.15. <a href="language.function.block.html#id366728">Simple <code class="varname">{block}</code> example</a>
</dt>
<dt>7.16. <a href="language.function.block.html#id366772">Prepend <code class="varname">{block}</code> example</a>
</dt>
<dt>7.17. <a href="language.function.block.html#id366814">Append <code class="varname">{block}</code> example</a>
</dt>
<dt>7.18. <a href="language.function.block.html#id366856"><code class="varname">{$smarty.block.child}</code> example</a>
</dt>
<dt>7.19. <a href="language.function.block.html#id366897"><code class="varname">{$smarty.block.parent}</code> example</a>
</dt>
<dt>7.20. <a href="language.function.call.html#id367817">Calling a recursive menu example</a>
</dt>
<dt>7.21. <a href="language.function.capture.html#id368523">{capture} with the name attribute</a>
</dt>
<dt>7.22. <a href="language.function.capture.html#id368535">{capture} into a template variable</a>
</dt>
<dt>7.23. <a href="language.function.capture.html#id368556">{capture} into a template array variable</a>
</dt>
<dt>7.24. <a href="language.function.config.load.html#id369269">{config_load}</a>
</dt>
<dt>7.25. <a href="language.function.config.load.html#id369348">function {config_load} with section</a>
</dt>
<dt>7.26. <a href="language.function.extends.html#id370113">Simple {extends} example</a>
</dt>
<dt>7.27. <a href="language.function.for.html#id370619">A simple <code class="varname">{for}</code> loop</a>
</dt>
<dt>7.28. <a href="language.function.for.html#id370649">Using the <code class="varname">max</code> attribute</a>
</dt>
<dt>7.29. <a href="language.function.for.html#id370686">Excution of <code class="varname">{forelse}</code></a>
</dt>
<dt>7.30. <a href="language.function.foreach.html#id371465">A simple <code class="varname">{foreach}</code> loop</a>
</dt>
<dt>7.31. <a href="language.function.foreach.html#id371512">Demonstrates the an additional <em class="parameter"><code>key</code></em> variable</a>
</dt>
<dt>7.32. <a href="language.function.foreach.html#id371562">{foreach} with nested <em class="parameter"><code>item</code></em> and <em class="parameter"><code>key</code></em></a>
</dt>
<dt>7.33. <a href="language.function.foreach.html#id371630">Database example with {foreachelse}</a>
</dt>
<dt>7.34. <a href="language.function.foreach.html#id371705"><em class="parameter"><code>index</code></em> example</a>
</dt>
<dt>7.35. <a href="language.function.foreach.html#id371756"><em class="parameter"><code>iteration</code></em> example: is div by</a>
</dt>
<dt>7.36. <a href="language.function.foreach.html#id371784"><em class="parameter"><code>iteration</code></em> example: is even/odd by</a>
</dt>
<dt>7.37. <a href="language.function.foreach.html#id371860"><em class="parameter"><code>first</code></em> property example</a>
</dt>
<dt>7.38. <a href="language.function.foreach.html#id371908"><em class="parameter"><code>last</code></em> property example</a>
</dt>
<dt>7.39. <a href="language.function.foreach.html#id371958"><em class="parameter"><code>show</code></em> property example</a>
</dt>
<dt>7.40. <a href="language.function.foreach.html#id372005"><em class="parameter"><code>total</code></em> property example</a>
</dt>
<dt>7.41. <a href="language.function.foreach.html#id372070"><code class="varname">{break}</code> example</a>
</dt>
<dt>7.42. <a href="language.function.foreach.html#id372106"><code class="varname">{continue}</code> example</a>
</dt>
<dt>7.43. <a href="language.function.function.html#id373317">Recursive menu {function} example</a>
</dt>
<dt>7.44. <a href="language.function.if.html#id374060">{if} statements</a>
</dt>
<dt>7.45. <a href="language.function.if.html#id374073">{if} with more examples</a>
</dt>
<dt>7.46. <a href="language.function.include.html#id375045">Simple {include} example</a>
</dt>
<dt>7.47. <a href="language.function.include.html#id375058">{include} passing variables</a>
</dt>
<dt>7.48. <a href="language.function.include.html#id375096">{include} using parent scope</a>
</dt>
<dt>7.49. <a href="language.function.include.html#id375131">{include} with disabled caching</a>
</dt>
<dt>7.50. <a href="language.function.include.html#id375148">{include} with individual cache lifetime</a>
</dt>
<dt>7.51. <a href="language.function.include.html#id375165">{include} with forced caching</a>
</dt>
<dt>7.52. <a href="language.function.include.html#id375183">{include} and assign to variable</a>
</dt>
<dt>7.53. <a href="language.function.include.html#id375212">{include} with relative paths</a>
</dt>
<dt>7.54. <a href="language.function.include.html#id375232">Various {include} resource examples</a>
</dt>
<dt>7.55. <a href="language.function.include.php.html#id376316">function {include_php}</a>
</dt>
<dt>7.56. <a href="language.function.insert.html#id377076">function {insert}</a>
</dt>
<dt>7.57. <a href="language.function.ldelim.html#id377715">{ldelim}, {rdelim}</a>
</dt>
<dt>7.58. <a href="language.function.ldelim.html#id377761">Another Javascript example</a>
</dt>
<dt>7.59. <a href="language.function.literal.html#id377465">{literal} tags</a>
</dt>
<dt>7.60. <a href="language.function.nocache.html#id377821">Preventing a template section from being cached</a>
</dt>
<dt>7.61. <a href="language.function.php.html#id377967">php code within {php} tags</a>
</dt>
<dt>7.62. <a href="language.function.php.html#id378363">{php} tags with global and assigning a variable</a>
</dt>
<dt>7.63. <a href="language.function.section.html#id379165">Looping a simple array with {section}</a>
</dt>
<dt>7.64. <a href="language.function.section.html#id379219">{section} without an assigned array</a>
</dt>
<dt>7.65. <a href="language.function.section.html#id379244">Naming a {section}</a>
</dt>
<dt>7.66. <a href="language.function.section.html#id379282">Looping an associative array with {section}</a>
</dt>
<dt>7.67. <a href="language.function.section.html#id379344">{section} demonstrating the <code class="varname">loop</code> variable</a>
</dt>
<dt>7.68. <a href="language.function.section.html#id379428">Nested {section}'s</a>
</dt>
<dt>7.69. <a href="language.function.section.html#id379496">Database example with a {sectionelse}</a>
</dt>
<dt>7.70. <a href="language.function.section.html#id379605">{section} <code class="varname">index</code> property</a>
</dt>
<dt>7.71. <a href="language.function.section.html#id379702"><code class="varname">index</code>, <code class="varname">index_next</code>
 and <code class="varname">index_prev</code> properties </a>
</dt>
<dt>7.72. <a href="language.function.section.html#id379845">A section's <code class="varname">iteration</code> property </a>
</dt>
<dt>7.73. <a href="language.function.section.html#id380017">{section} property <code class="varname">first</code> and <code class="varname">last</code></a>
</dt>
<dt>7.74. <a href="language.function.section.html#id380114">{section} property <code class="varname">loop</code></a>
</dt>
<dt>7.75. <a href="language.function.section.html#id380170"><code class="varname">show</code> property </a>
</dt>
<dt>7.76. <a href="language.function.section.html#id380234"><code class="varname">total</code> property example</a>
</dt>
<dt>7.77. <a href="language.function.setfilter.html#id382049">{setfilter} tags</a>
</dt>
<dt>7.78. <a href="language.function.strip.html#id381758">{strip} tags</a>
</dt>
<dt>7.79. <a href="language.function.while.html#id382766">{while} loop</a>
</dt>
<dt>8.1. <a href="language.custom.functions.html#id393316">{counter}</a>
</dt>
<dt>8.2. <a href="language.function.cycle.html#id393957">{cycle}</a>
</dt>
<dt>8.3. <a href="language.function.eval.html#id394555">{eval}</a>
</dt>
<dt>8.4. <a href="language.function.eval.html#id394604">Another {eval} example</a>
</dt>
<dt>8.5. <a href="language.function.fetch.html#id395151">{fetch} examples</a>
</dt>
<dt>8.6. <a href="language.function.html.checkboxes.html#id395850">{html_checkboxes}</a>
</dt>
<dt>8.7. <a href="language.function.html.checkboxes.html#id395919">
      Database example (eg PEAR or ADODB):
  </a>
</dt>
<dt>8.8. <a href="language.function.html.image.html#id396844">{html_image} example</a>
</dt>
<dt>8.9. <a href="language.function.html.options.html#id397595">Associative array with the <code class="varname">options</code> attribute</a>
</dt>
<dt>8.10. <a href="language.function.html.options.html#id397654">Dropdown with seperate arrays for <code class="varname">values</code> and
<code class="varname">ouptut</code></a>
</dt>
<dt>8.11. <a href="language.function.html.options.html#id397708">Database example (eg ADODB or PEAR)</a>
</dt>
<dt>8.12. <a href="language.function.html.options.html#id397752">Dropdown's with &lt;optgroup&gt; </a>
</dt>
<dt>8.13. <a href="language.function.html.radios.html#id398708">{html_radios} first example</a>
</dt>
<dt>8.14. <a href="language.function.html.radios.html#id398740">{html_radios} second example</a>
</dt>
<dt>8.15. <a href="language.function.html.radios.html#id398779">{html_radios} - Database example (eg PEAR or ADODB):</a>
</dt>
<dt>8.16. <a href="language.function.html.select.date.html#id400198">{html_select_date}</a>
</dt>
<dt>8.17. <a href="language.function.html.select.date.html#id400224">{html_select_date} second example</a>
</dt>
<dt>8.18. <a href="language.function.html.select.time.html#id402197">{html_select_time}</a>
</dt>
<dt>8.19. <a href="language.function.html.table.html#id403778">{html_table}</a>
</dt>
<dt>8.20. <a href="language.function.mailto.html#id404727">{mailto} example lines followed by the result</a>
</dt>
<dt>8.21. <a href="language.function.math.html#id405478">{math}</a>
</dt>
<dt>8.22. <a href="language.function.textformat.html#id406296">{textformat}</a>
</dt>
<dt>9.1. <a href="config.files.html#id413307">Example of config file syntax</a>
</dt>
<dt>11.1. <a href="charset.html#id414493">Setting a different Charset Encoding</a>
</dt>
<dt>12.1. <a href="smarty.constants.html#id414309">SMARTY_DIR</a>
</dt>
<dt>13.1. <a href="variable.compile.id.html#id417617">$compile_id in a virtual host environment</a>
</dt>
<dt>13.2. <a href="variable.config.overwrite.html#id417936">Array of config #variables#</a>
</dt>
<dt>13.3. <a href="variable.debugging.ctrl.html#id419020">$debugging_ctrl on localhost</a>
</dt>
<dt>13.4. <a href="variable.default.config.handler.func.html#id419380">$default_config_handler_func</a>
</dt>
<dt>13.5. <a href="variable.default.template.handler.func.html#id419421">$default_template_handler_func</a>
</dt>
<dt>14.1. <a href="api.add.config.dir.html#id426235">addConfigDir()</a>
</dt>
<dt>14.2. <a href="api.add.plugins.dir.html#id426466">addPluginsDir()</a>
</dt>
<dt>14.3. <a href="api.add.template.dir.html#id426692">addTemplateDir()</a>
</dt>
<dt>14.4. <a href="api.append.html#id426997">append</a>
</dt>
<dt>14.5. <a href="api.append.by.ref.html#id427394">appendByRef</a>
</dt>
<dt>14.6. <a href="api.assign.html#id427767">assign()</a>
</dt>
<dt>14.7. <a href="api.assign.by.ref.html#id428200">assignByRef()</a>
</dt>
<dt>14.8. <a href="api.clear.all.assign.html#id428038">clearAllAssign()</a>
</dt>
<dt>14.9. <a href="api.clear.all.cache.html#id428693">clearAllCache</a>
</dt>
<dt>14.10. <a href="api.clear.assign.html#id428898">clearAssign()</a>
</dt>
<dt>14.11. <a href="api.clear.cache.html#id429231">clearCache()</a>
</dt>
<dt>14.12. <a href="api.clear.compiled.tpl.html#id429576">clearCompiledTemplate()</a>
</dt>
<dt>14.13. <a href="api.clear.config.html#id429367">clearConfig()</a>
</dt>
<dt>14.14. <a href="api.compile.all.config.html#id430192">compileAllConfig()</a>
</dt>
<dt>14.15. <a href="api.compile.all.templates.html#id430593">compileAllTemplates()</a>
</dt>
<dt>14.16. <a href="api.config.load.html#id430966">configLoad()</a>
</dt>
<dt>14.17. <a href="api.create.data.html#id431307">createData()</a>
</dt>
<dt>14.18. <a href="api.create.template.html#id431849">createTemplate()</a>
</dt>
<dt>14.19. <a href="api.display.html#id432561">display()</a>
</dt>
<dt>14.20. <a href="api.display.html#id432587">Other display() template resource examples</a>
</dt>
<dt>14.21. <a href="api.fetch.html#id433330">fetch()</a>
</dt>
<dt>14.22. <a href="api.fetch.html#id433353">Using fetch() to send an email</a>
</dt>
<dt>14.23. <a href="api.get.cache.dir.html#id433215">getCacheDir()</a>
</dt>
<dt>14.24. <a href="api.get.compile.dir.html#id433520">getCompileDir()</a>
</dt>
<dt>14.25. <a href="api.get.config.dir.html#id433679">getConfigDir()</a>
</dt>
<dt>14.26. <a href="api.get.config.vars.html#id434300">getConfigVars()</a>
</dt>
<dt>14.27. <a href="api.get.plugins.dir.html#id434518">getPluginsDir()</a>
</dt>
<dt>14.28. <a href="api.get.registered.object.html#id434733">getRegisteredObject()</a>
</dt>
<dt>14.29. <a href="api.get.tags.html#id434979">getTags()</a>
</dt>
<dt>14.30. <a href="api.get.template.dir.html#id435162">getTemplateDir()</a>
</dt>
<dt>14.31. <a href="api.get.template.vars.html#id435383">getTemplateVars</a>
</dt>
<dt>14.32. <a href="api.is.cached.html#id435849">isCached()</a>
</dt>
<dt>14.33. <a href="api.is.cached.html#id435867">isCached() with multiple-cache template</a>
</dt>
<dt>14.34. <a href="api.load.filter.html#id436326">Loading filter plugins</a>
</dt>
<dt>14.35. <a href="api.register.cacheresource.html#id436797">registerCacheResource()</a>
</dt>
<dt>14.36. <a href="api.register.class.html#id437068">Register class for use within a template</a>
</dt>
<dt>14.37. <a href="api.register.class.html#id437092">Register namespaced class for use within a template</a>
</dt>
<dt>14.38. <a href="api.register.default.plugin.handler.html#id437352">Default Plugin Handler Example</a>
</dt>
<dt>14.39. <a href="api.register.plugin.html#id438564">register a function plugin</a>
</dt>
<dt>14.40. <a href="api.register.plugin.html#id438594">register block function plugin</a>
</dt>
<dt>14.41. <a href="api.register.plugin.html#id438624">register modifier plugin</a>
</dt>
<dt>14.42. <a href="api.register.resource.html#id439500">registerResource()</a>
</dt>
<dt>14.43. <a href="api.set.cache.dir.html#id439753">setCacheDir()</a>
</dt>
<dt>14.44. <a href="api.set.compile.dir.html#id439577">setCompileDir()</a>
</dt>
<dt>14.45. <a href="api.set.config.dir.html#id439692">setConfigDir()</a>
</dt>
<dt>14.46. <a href="api.set.plugins.dir.html#id440355">setPluginsDir()</a>
</dt>
<dt>14.47. <a href="api.set.template.dir.html#id440570">setTemplateDir()</a>
</dt>
<dt>14.48. <a href="api.template.exists.html#id440790">templateExists()</a>
</dt>
<dt>14.49. <a href="api.unregister.cacheresource.html#id441102">unregisterCacheResource()</a>
</dt>
<dt>14.50. <a href="api.unregister.plugin.html#id441711">unregister function plugin</a>
</dt>
<dt>14.51. <a href="api.unregister.resource.html#id441768">unregisterResource()</a>
</dt>
<dt>14.52. <a href="api.test.install.html#id441895">testInstall()</a>
</dt>
<dt>15.1. <a href="caching.html#id450552">Enabling caching</a>
</dt>
<dt>15.2. <a href="caching.html#id450667">Setting $cache_lifetime per cache</a>
</dt>
<dt>15.3. <a href="caching.html#id450727">Disabling $compile_check</a>
</dt>
<dt>15.4. <a href="caching.html#id450804">Using isCached()</a>
</dt>
<dt>15.5. <a href="caching.html#id450900">Clearing the cache</a>
</dt>
<dt>15.6. <a href="caching.multiple.caches.html#id451365">Passing a $cache_id to display()</a>
</dt>
<dt>15.7. <a href="caching.multiple.caches.html#id451479">Passing a cache_id to isCached()</a>
</dt>
<dt>15.8. <a href="caching.multiple.caches.html#id451521">Clearing all caches for a particular $cache_id</a>
</dt>
<dt>15.9. <a href="caching.groups.html#id451968">$cache_id groups</a>
</dt>
<dt>15.10. <a href="caching.cacheable.html#id451818">Preventing a template section from being cached</a>
</dt>
<dt>15.11. <a href="caching.cacheable.html#id452292">Preventing tag output from being cached</a>
</dt>
<dt>15.12. <a href="caching.cacheable.html#id452350">Nocache Variables</a>
</dt>
<dt>15.13. <a href="caching.cacheable.html#id452460">Preventing a plugin's output from being cached</a>
</dt>
<dt>15.14. <a href="caching.cacheable.html#id452510">Preventing a whole passage of a template from being cached</a>
</dt>
<dt>15.15. <a href="caching.custom.html#id453128">Smarty_CacheResource_Mysql</a>
</dt>
<dt>15.16. <a href="caching.custom.html#id453143">Smarty_CacheResource_Memcache</a>
</dt>
<dt>16.1. <a href="resources.html#id455179">Using templates from the $template_dir</a>
</dt>
<dt>16.2. <a href="resources.html#id455241">Specifying the $template_dir to use</a>
</dt>
<dt>16.3. <a href="resources.html#id455348">Using templates from any directory</a>
</dt>
<dt>16.4. <a href="resources.html#id455398">Using templates from windows file paths</a>
</dt>
<dt>16.5. <a href="resources.string.html#id455869">Using templates from strings</a>
</dt>
<dt>16.6. <a href="resources.string.html#id455951">Using templates from encoded strings</a>
</dt>
<dt>16.7. <a href="resources.streams.html#id455655">Stream from PHP</a>
</dt>
<dt>16.8. <a href="resources.streams.html#id455701">Stream from Template</a>
</dt>
<dt>16.9. <a href="resources.extends.html#id456430">Using template inheritance from the PHP script</a>
</dt>
<dt>16.10. <a href="resources.custom.html#id456130">Using custom resources</a>
</dt>
<dt>17.1. <a href="advanced.features.html#id458178">Setting security policy by extending the Smarty_Security class</a>
</dt>
<dt>17.2. <a href="advanced.features.html#id458192">Setting security policy by instance of the Smarty_Security class</a>
</dt>
<dt>17.3. <a href="advanced.features.html#id458213">Enable security with the default settings</a>
</dt>
<dt>17.4. <a href="advanced.features.template.settings.html#id458796">changing Smarty settings by template</a>
</dt>
<dt>17.5. <a href="advanced.features.template.settings.html#id458816">register plugins by template</a>
</dt>
<dt>17.6. <a href="advanced.features.template.inheritance.html#id459144">Template inheritance example</a>
</dt>
<dt>17.7. <a href="advanced.features.template.inheritance.html#id459208">Template inheritance by template resource <code class="literal">extends:</code></a>
</dt>
<dt>17.8. <a href="advanced.features.streams.html#id459363">Stream Variable</a>
</dt>
<dt>17.9. <a href="advanced.features.objects.html#id459938">Using a registered or assigned object</a>
</dt>
<dt>17.10. <a href="advanced.features.static.classes.html#id459785">static class access syntax </a>
</dt>
<dt>17.11. <a href="advanced.features.prefilters.html#id460402">Using a template prefilter</a>
</dt>
<dt>17.12. <a href="advanced.features.postfilters.html#id460627">Using a template postfilter</a>
</dt>
<dt>17.13. <a href="advanced.features.outputfilters.html#id460910">Using a template outputfilter</a>
</dt>
<dt>18.1. <a href="plugins.functions.html#id463682">function plugin with output</a>
</dt>
<dt>18.2. <a href="plugins.functions.html#id463720">function plugin without output</a>
</dt>
<dt>18.3. <a href="plugins.modifiers.html#id464034">A simple modifier plugin</a>
</dt>
<dt>18.4. <a href="plugins.modifiers.html#id464061">More complex modifier plugin</a>
</dt>
<dt>18.5. <a href="plugins.block.functions.html#id464482">block function</a>
</dt>
<dt>18.6. <a href="plugins.compiler.functions.html#id464861">A simple compiler function</a>
</dt>
<dt>18.7. <a href="plugins.prefilters.postfilters.html#id465164">prefilter plugin</a>
</dt>
<dt>18.8. <a href="plugins.prefilters.postfilters.html#id465181">postfilter plugin</a>
</dt>
<dt>18.9. <a href="plugins.outputfilters.html#id465465">An output filter plugin</a>
</dt>
<dt>18.10. <a href="plugins.resources.html#id465726">Using custom resources</a>
</dt>
<dt>18.11. <a href="plugins.inserts.html#id466068">insert plugin</a>
</dt>
<dt>19.1. <a href="bc.html#id467306">Using SmartyBC</a>
</dt>
<dt>20.1. <a href="troubleshooting.html#id467350">Smarty errors</a>
</dt>
<dt>20.2. <a href="troubleshooting.html#id467515">PHP parsing errors</a>
</dt>
<dt>20.3. <a href="troubleshooting.html#id467806">Other common errors</a>
</dt>
<dt>21.1. <a href="tips.html#id468615">Printing &amp;nbsp; when a variable is empty</a>
</dt>
<dt>21.2. <a href="tips.default.var.handling.html#id468682">Assigning a template variable its default value</a>
</dt>
<dt>21.3. <a href="tips.passing.vars.html#id468749">Passing the title variable to the header template</a>
</dt>
<dt>21.4. <a href="tips.dates.html#id468891">Using date_format</a>
</dt>
<dt>21.5. <a href="tips.dates.html#id468954">Converting form date elements back to a timestamp</a>
</dt>
<dt>21.6. <a href="tips.wap.html#id469060">Using {insert} to write a WML Content-Type header</a>
</dt>
<dt>21.7. <a href="tips.componentized.templates.html#id469142">componentized template</a>
</dt>
<dt>21.8. <a href="tips.obfuscating.email.html#id468497">Example of template the Obfuscating an email address</a>
</dt>
</dl>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left"> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right"> <a accesskey="n" href="preface.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top"> </td>
<td width="20%" align="center"> </td>
<td width="40%" align="right" valign="top"> Preface</td>
</tr>
</table>
</div>
</body>
</html>
